// pages/singer/singer.js
import request from '../../request/index'
//使用 async await 语法必须引入，固定写法。
import regeneratorRuntime from '../../utils/runtime'
const App = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    artist: {},//歌手信息
    songs: [],//歌手热门歌曲
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const { id } = options
    this.getSingerInfo(id)
  },
  //获取歌手信息和热门歌曲(最多五十首)
  async getSingerInfo(id) {
    const result = await request({ url: "artists", data: { id } })
    if (result.code !== 200) {
      console.log("获取歌手信息失败", result)
      return
    }
    const { picUrl, briefDesc, name } = result.artist
    const artist = { picUrl, briefDesc, name }
    const songs = result.hotSongs.map(item => {
      const { id, name, ar } = item
      return { id, name, ar }
    })
    this.setData({ artist, songs })
  },
  //音乐播放
  playMusic(event) {
    const { id, index } = event.currentTarget.dataset
    App.globalData.playList = this.data.songs
    App.globalData.musicId = id
    App.globalData.index = index
    wx.navigateTo({ url: '/pages/music-play/music-play?id=' + id })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})